Online image processing systems and methods

ABSTRACT

The present invention allows for online image processing. A sample embodiment of the system comprises an Image Processing Means with one or more predetermined graphical layers, residing on the Image Processing Means The Image Processing Means has the ability to obtain one or more substitute layers and repeat a set of predetermined steps using predetermined layers and substitute layers to create a new image. A sample embodiment of the method comprises the steps of determining graphical layers (predetermined graphical layers) and steps (predetermined steps) for creating an image. A substitute layer maybe obtained from a remote User. The predetermined steps may be repeated using predetermined graphical layers and the substitute layer, thus, creating a new image. The image may be further delivered to the User. Described systems and methods may allow users to create complex digital images using remote servers, without the use of graphical tools on the user&#39;s computer. Even users without substantial technical or artistic skills may create complex digital images.

FIELD OF THE INVENTION

The present invention relates in general to systems and methods forserver-side image processing and in particular to systems and methodsfor repeating a predetermined set of steps for creating an image on aremote server.

BACKGROUND OF THE INVENTION

Digital images are a common form of data in modern society. Use ofdigital photography is spreading rapidly among professional and amateurphotographers. The use of traditional (film) photography is declining.The quality of digital photography is constantly improving. Digitalimages may be stored practically forever without reduction in imagequality. Prices for equipment to take, store, and print high resolutiondigital images are rapidly declining. As a result of this sweepingtransformation to digital photography, some camera makers have stoppedproducing traditional cameras.

An additional reason for the extensive use of digital images is thetremendous growth of the Internet. Images on the Internet may be savedand displayed only in a digital form. There are many millions, perhapsbillions, of images on the Internet.

Additional advantages of digital photography lie with easy manipulation(editing, processing) of the images. Digital image processing has becomea significant form of image processing because of continuingimprovements in techniques and increasingly powerful hardware devices.Digital image processing techniques have augmented and, in some cases,replaced methods used by photographers in image composition and darkroom processing. For example, digital image processing techniques suchas contrast balancing, edge sharpening, color balancing or retouching ofdefects are employed for editing original photographic images. Moreover,with the aid of a computer, digitized images can be edited to achieve avariety of effects, which are hard or impossible to achieve withtraditional photography, such as changing the shapes and colors ofobjects and forming composite images.

Until recently, real-time editing of digital graphic images was feasibleonly on expensive high-performance workstations with dedicated,special-purpose, hardware. The progress of integrated circuit technologyin recent years has produced microprocessors with significantly improvedprocessing power and has also reduced the costs of computer memories.These developments have made it feasible to implement advanced graphicediting techniques in personal computers. These editing techniques,however, are typically complex and require a technical and/or artisticexpertise beyond that of ordinary users of personal computers.

For example, image compositing is a digital image processing techniquethat merges unrelated objects from multiple images. The result is a newscene that may never have existed physically. Image compositing hasgained widespread use in photography. Image compositing operations,however, typically require a complex procedure for compositing thevarious images in order to achieve the desired effect. Thus, althoughthe standard PC of today is capable of implementing these complexprocedures, the average user is not.

Software for performing various image processing operations can be veryexpensive. Also, advanced graphical packages can be hard to learn anduse. Creation of a complex digital image may require substantialtechnical or artistic skills. Thus, there is a need for digital imagingprocessing systems and methods, which may produce desired digital imagesin a cost-effective and timely manner, without requiring eithertechnical or artistic skills from the user.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a sample embodiment of the systemof the present invention.

FIGS. 2-5 are flowcharts illustrating sample embodiments of the methodsof the present invention.

FIGS. 6A-H, 7A-H, and 8A-H are sample illustrations that demonstrate howimages may change by using the methods of the present invention.

DETAILED DESCRIPTION AND PREFERRED EMBODIMENT

The present invention will now be discussed in detail with regard to theattached drawing figures which were briefly described above. In thefollowing description, numerous specific details are set forthillustrating the Applicant's best mode for practicing the invention andenabling one of ordinary skill in the art of making and using theinvention. It will be obvious, however, to one skilled in the art thatthe present invention may be practiced without many of these specificdetails. In other instances, well-known machines and method steps havenot been described in particular detail in order to avoid unnecessarilyobscuring the present invention. Unless otherwise indicated, like partsand method steps are referred to with like reference numerals.

For the purposes of this patent application online image editing andserver-side image editing are considered synonymous.

A sample system of the present invention is illustrated in FIG. 1. Thesystem may comprise a User 105, who has ability to Connect to an ImageProcessing Server 115 via a Computer Network 110. The Computer Network110 may be a global computer network, such as the Internet.

An Image Processing Software 120 may reside on the Image ProcessingServer 115. The Image Processing Software 120 has the ability to repeat(perform, execute) one or more predetermined image processing stepsusing one or more predetermined graphical layers. The steps and layersare predetermined by a Provider 125. The graphical layers may includeimages, text, formatted text, graphical effects, etc. The User 105 hasthe ability to add, modify, or remove one or more steps or graphicallayers.

The User 105 may interface with the Image Processing Server 115 througha website maintained by the Provider 125.

In an alternative embodiment the Image Processing Server 115 and theImage Processing Software 120 may be replaced with an Image ProcessingMeans. The Image Processing Means may be one or more computers, devices,circuitry, and/or hardware, or equivalents thereof, programmed withlogical instructions, for repeating one or more predetermined sets ofimage processing steps, wherein at least one graphical layer or step isadded, modified, or removed.

A sample method for online image processing is shown in FIG. 2. TheProvider 125 may determine one or more graphical layers and steps forcreating an image (Step 205). The graphical layers may include images,text, formatted text, graphical effects, etc. The image may be, forexample, a raster (bitmap) image or a vector image. The Image ProcessingServer 115 may obtain a substitute layer from the User 105 (Step 210).The substitute layer may be a User's graphical file.

The Image Processing Software 120, residing on the Image ProcessingServer 115, may repeat predetermined steps using predetermined graphicallayers and the substitute layer (Step 215). This will produce a newimage that incorporates the substitute layer. The Image ProcessingServer 115 may then deliver the new image to the User 105 (Step 220).

The image processing steps may include a step of combining the images(layers) or applying an effect to one or more layers. Combining theimages may create a new image, wherein transparent elements of an upperimage are replaced with the elements of an underlying image. In apreferred embodiment, the resulting image is achieved by combining allthe layers into a single image (so called, “flattening” the image).

FIGS. 6A-H may be used to illustrate this with example. FIGS. 6A-Drepresent a set of predetermined layers for creating an image shown atFIG. 6E. FIG. 6A is the first layer representing a background image of asolid color, such as green, blue, red, etc. FIG. 6B is the second layerrepresenting an effect that will be applied to the background image toachieve a glowing effect. FIG. 6C is the third layer representing animage that will be placed over the background image with the glowingeffect. FIG. 6D is the fourth layer representing an effect that will beapplied to the image to achieve a grid effect. FIG. 6E is a resultingimage, achieved by combining layers at FIGS. 6A-D. Images and effectsshown at FIGS. 6A-D represent predetermined layers and steps forproducing the resulting image.

The grid effect in the resulting image is not very well noticeable dueto the fact that the image was further dithered to true black and whitefor patent publication. In a preferred embodiment, the layers maycomprise color, grayscale, and true (1-bit) black and white elements.

Further, the User 105 may supply the Image Processing Software 120 witha substitute layer shown FIG. 6F (a substitute image). The ImageProcessing Software 120 may remove the background in the substituteimage as shown in FIG. 6G. Alternatively, the User 105 may remove thebackground in the substitute image (FIG. 6G) before supplying thesubstitute image to the Image Processing Software 120. Optionally, theImage Processing Software 120 may position (x and y axis) the substituteimage on the resulting image (e.g. center it, as shown in FIG. 6G).

In the present example, the image at FIG. 6C is substituted by the imageat FIG. 6G. In a more general scenario, the User 105 may specify whichlayers should be replaced. Repeating the predetermined steps using thesubstitute image, results in a new image shown at FIG. 6H. This allowsthe User 105 to create complex images without substantial technical orartistic skills.

In the example shown at FIGS. 7A-H, at least one of the predeterminedlayers comprises a formatted text, which further may be replaced with asubstitute text. FIGS. 7A-D represent a set of predetermined layers forcreating an image shown at FIG. 7E. FIG. 7A is the first layerrepresenting a background image. FIG. 7B is the second layerrepresenting an effect that will be applied to the background image toachieve a half-circle fading effect. FIG. 7C is the third layerrepresenting a first formatted text that will be placed over thebackground image with the fading effect. FIG. 7D is the fourth layerrepresenting a second formatted text. FIG. 7E is a resulting image,achieved by combining layers at FIGS. 7A-D. Images, effects, and textshown at FIGS. 7A-D represent predetermined layers and steps forproducing the resulting image.

Further, the User 105 may supply the Image Processing Software 120 witha substitute layer shown at FIG. 7F (a substitute text). The ImageProcessing Software 120 may remove the background in the substitute textas shown in FIG. 7G. Alternatively, the User 105 may remove thebackground from the substitute text (FIG. 7G) before supplying thesubstitute text to the Image Processing Software 120. Optionally, theImage Processing Software 120 may position (x and y axis) the substitutetext on the resulting image.

In this example, the text at FIG. 7D is substituted by the text at FIG.7G. In a more general scenario, the User 105 may specify which layersshould be replaced. Repeating the predetermined steps using thesubstitute text, results in a new image shown at FIG. 7H.

Alternatively, the User 105 may add one or more new layers to the set ofpredetermined layers or/and remove one or more existing layers from theset of predetermined layers.

In an alternative sample embodiment shown in FIG. 3, the Provider 125may determine one or more graphical layers and steps for creating animage (Step 205). The Image Processing Server 115 may obtain asubstitute layer from the User 105 (Step 210). The Image ProcessingSoftware 120, residing on the Image Processing Server 115, may repeatpredetermined steps using predetermined graphical layers and thesubstitute layer (Step 215). This will produce a new image thatincorporates the substitute layer. The Image Processing Server 115 maythen deliver the new image to the User 105 (Step 220). If the User 105is not satisfied with the new image (Step 325), the method may berepeated starting at Step 210 (Step 330). If the User 105 is satisfied,the method ends.

When the method is repeated starting at Step 210, the User 105 mayprovide a new substitute layer for the previously selected predeterminedlayer or for another predetermined layer. Thus, the User 105 may eitheradjust the resulting image by supplying the substitute layer for thepreviously selected predetermined layer, or create iterations ofresulting image by replacing various predetermined layers.

Alternatively, the User 105 may add one or more new layers to the set ofpredetermined layers or/and remove one or more existing layers from theset of predetermined layers.

Referring to a sample method shown in FIG. 4, the Provider 125 maydetermine one or more graphical layers and steps for creating an image(Step 205). The Image Processing Server 115 may obtain a substitutelayer from the User 105 (Step 210). Further, the Image Processing Server115 may obtain one or more image processing parameters from the User 105(Step 435). The image processing parameters may include layer location(position), intensity, brightness, sharpness, color, graphical effects,order of applying layers or/and graphical effects, and others.

The Image Processing Software 120 may repeat predetermined steps withpredetermined graphical layers and the substitute layer using the imageprocessing parameters obtained from the User 105 (Step 440). This willproduce a new image that incorporates the substitute layer and the imageprocessing parameters. The Image Processing Server 115 may then deliverthe new image to the User 105 (Step 220).

The graphical effects may include layer trimming, resizing, scaling,color balancing, texturing, and others.

Alternatively, as shown in FIG. 5, the Provider 125 may determine one ormore graphical layers and steps for creating an image (Step 205). TheImage Processing Server 115 may obtain a substitute layer from the User105 (Step 210). Further, the Image Processing Server 115 may obtain oneor more image processing parameters from the User 105 (Step 435). TheImage Processing Software 120 may repeat predetermined steps withpredetermined graphical layers and the substitute layer using the imageprocessing parameters obtained from the User 105 (Step 440). This willproduce a new image that incorporates the substitute layer and the imageprocessing parameters. The Image Processing Server 115 may then deliverthe new image to the User 105 (Step 220). If the User 105 is notsatisfied with the new image (Step 325), the method may be repeatedstarting at Step 210 (Step 330). If the User 105 is satisfied, themethod ends.

When the method is repeated starting at Step 210, the User 105 mayprovide a new substitute layer for the previously selected predeterminedlayer or for another predetermined layer, as well as change and/or addimage processing parameters. Thus, the User 105 may either (a) adjustthe resulting image by supplying a substitute layer for a previouslyselected predetermined layer or changing parameters, or (b) createiterations of the resulting image by replacing various predeterminedlayers and/or adding new parameters.

FIGS. 8A-H may be used to illustrate this with example. FIGS. 8A-Drepresent a set of predetermined layers for creating an image shown atFIG. 8E. FIG. 8A is the first layer representing a background image.FIG. 8B is the second layer representing an effect that will be appliedto the background image to achieve a fading frame effect. FIG. 8C is thethird layer representing an image that will be placed over thebackground image with the frame effect. FIG. 8D is the fourth layerrepresenting a formatted text that will be added to the image. FIG. 8Eis a resulting image, achieved by combining layers at FIGS. 8A-D.Images, effects, and text shown at FIGS. 8A-D represent predeterminedlayers and steps for producing the resulting image.

Further, the User 105 may supply the Image Processing Software 120 witha substitute layer shown at FIG. 8F (a substitute image). The ImageProcessing Software 120 may remove the background in the substituteimage as shown in FIG. 8G. Alternatively, the User 105 may removebackground in the substitute image (FIG. 8G) before supplying thesubstitute image to the Image Processing Software 120. Further, the User105 may supply the Image Processing Software 120 with image processingparameters, such as the position (x and y axis) of the substitute imageon the resulting image. The Image Processing Software 120 may create anew image using the substitute image and image processing parameters anddeliver the new image to the User 105. If the User 105 is not satisfiedwith the resulting image or if the User 105 wants to replace additionallayers or change/add some effects, the User 105 may resubmit substitutelayers and processing parameters to the Image Processing Software 120.

The described systems and methods may allow users to create complexdigital images using remote servers, without the use of graphical toolson the user's computer. Even users without substantial technical orartistic skills may create complex digital images.

Other embodiments and uses of this invention will be apparent to thosehaving ordinary skill in the art upon consideration of the specificationand practice of the invention disclosed herein. The specification andexamples given should be considered exemplary only, and it iscontemplated that the appended claims will cover any other suchembodiments or modifications as fall within the true scope of theinvention. The elements, steps, and limitations recited in thespecification must not be read into the claims.

The Abstract accompanying this specification is provided to enable theUnited States Patent and Trademark Office and the public generally todetermine quickly from a cursory inspection the nature and gist of thetechnical disclosure and is in no way intended for defining,determining, or limiting the present invention or any of itsembodiments.

1. An online image processing system, comprising: an Image ProcessingMeans, one or more predetermined graphical layers, residing on saidImage Processing Means, a set of predetermined image processing steps,wherein said Image Processing Means includes an ability to obtain one ormore substitute layers and perform said set of predetermined imageprocessing steps using remaining predetermined graphical layers and saidone or more substitute layers to create an image.
 2. The system of claim1, wherein any of said predetermined graphical layers comprises animage, a text, a formatted text, or a graphical effect.
 3. The system ofclaim 1, wherein said substitute layer comprises an image, a text, aformatted text, or a graphical effect.
 4. The system of claim 1, whereinsaid Image Processing Means comprises an Image Processing Server and anImage Processing Software.
 5. The system of claim 1, wherein said ImageProcessing Means includes an ability to obtain said one or moresubstitute layers from a remote User via a Computer Network.
 6. Thesystem of claim 1, further comprising: a Provider that maintains saidImage Processing Means and determines said one or more predeterminedgraphical layers and said set of predetermined steps.
 7. The system ofclaim 1, wherein said Image Processing Means provides an ability to aUser to add, remove, or change said one or more predetermined graphicallayers.
 8. The system of claim 1, wherein said Image Processing Meansprovides an ability to a User to add, remove, or change a step in saidset of predetermined steps.
 9. The system of claim 1, wherein said ImageProcessing Means includes an ability to obtain one or more imageprocessing parameters.
 10. The system of claim 9, wherein said ImageProcessing Means provides an ability to a User to add, remove, or changesaid one or more image processing parameters.
 11. An online imageprocessing method, comprising the steps of: a) determining one or moregraphical layers, thereby creating predetermined graphical layers, anddetermining image processing steps, thereby creating predetermined imageprocessing steps, for creating a first image, b) obtaining a substitutelayer from a remote User, wherein said substitute layer replaces atleast one of said predetermined graphical layers, c) performing saidpredetermined image processing steps using remaining said predeterminedgraphical layers and said substitute layer, thereby, creating a secondimage, and d) delivering said second image to said remote User.
 12. Themethod of claim 11, further comprising steps of: e) determining if saidremote User is satisfied with said second image, and f) if said remoteUser is not satisfied with said second image, then repeating stepsb)-f).
 13. The method of claim 11, wherein at least one of saidpredetermined graphical layers comprises an image, a text, a formattedtext, or a graphical effect.
 14. The method of claim 11, wherein saidsubstitute layers comprises an image, a text, a formatted text, or agraphical effect.
 15. The method of claim 11, further comprising a stepof: e) removing at least one of said predetermined graphical layers. 16.The method of claim 11, further comprising a step of: e) adding a newgraphical layers.
 17. The method of claim 11, further comprising a stepof: e) removing at least one of said predetermined image processingsteps.
 18. The method of claim 11, further comprising a step of: e)adding a new image processing step.
 19. The method of claim 11, furthercomprising a step of: e) changing sequential order of at least two ofsaid predetermined image processing steps.
 20. An online imageprocessing method, comprising the steps of: a) determining one or moregraphical layers, thereby creating predetermined graphical layers, anddetermining image processing steps, thereby creating predetermined imageprocessing steps, for creating a first image, b) obtaining a substitutelayer from a remote User, wherein said substitute layer replaces atleast one of said predetermined graphical layers, c) obtaining an imageprocessing parameter from said remote User, d) performing saidpredetermined image processing steps using remaining said predeterminedgraphical layers, said substitute layer, and said image processingparameter, thereby, creating a second image, and e) delivering saidsecond image to said remote User.
 21. The method of claim 20, furthercomprising steps of: f) determining if said remote User is satisfiedwith said second image, and g) if said remote User is not satisfied withsaid second image, then repeating steps b)-g).
 22. The method of claim20, wherein any of said predetermined graphical layers comprises animage, a text, a formatted text, or a graphical effect.
 23. The methodof claim 20, wherein said substitute layer comprises an image, a text, aformatted text, or a graphical effect.
 24. The method of claim 20,further comprising a step of: f) removing at least one of saidpredetermined graphical layers.
 25. The method of claim 20, furthercomprising a step of: f) adding a new graphical layers.
 26. The methodof claim 20, further comprising a step of: f) removing at least one ofsaid predetermined image processing steps.
 27. The method of claim 20,further comprising a step of: f) adding a new image processing step. 28.The method of claim 20, further comprising a step of: f) changingsequential order of at least two of said predetermined image processingsteps.
 29. The method of claim 20, wherein said image processingparameter comprises a location of said substitute layer on said secondimage.
 30. The method of claim 20, wherein said image processingparameter is selected from the group consisting of size, scale,intensity, brightness, sharpness, and color.